The disclosed embodiments relate generally to electronic devices having image sensors, and more particularly to electronic devices having image sensors that display filtered images on a display.
As electronic devices have become more and more advanced, the number of functions able to be performed by a given device has steadily increased, especially in the area of multimedia capture and processing. As such, it has become a significant challenge to design a multimedia processing framework that allows users and client applications to easily interact with and process such multimedia information.
Some portable electronic devices have employed touch-sensitive displays (also known as a “touch screens”) with a graphical user interface (GUI), one or more processors, memory and one or more modules, programs, or sets of instructions stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI primarily through finger contacts and gestures on the touch-sensitive display. In some embodiments, the functions may include telephony, video conferencing, e-mailing, instant messaging, blogging, digital photographing, digital video recording, web browsing, digital music playing, and/or digital video playing. Instructions for performing these functions may be included in a computer readable storage medium or other computer program product configured for execution by one or more processors.
Touch-sensitive displays can provide portable electronic devices with the ability to present intuitive user interfaces for viewing and navigating GUIs and multimedia content. Such interfaces can increase the effectiveness, efficiency and user satisfaction with activities like digital photography on portable electronic devices. In particular, portable electronic devices used for digital photography and digital video may provide the user with the ability to perform various image processing techniques, such as filtering, focusing, exposing, optimizing, or otherwise adjusting captured images—either in real-time as the image frames are being captured by the portable electronic device's image sensor or after the image has been stored in the device's memory,
As image processing capabilities of portable electronic devices continue to expand and become more complex, software developers of client applications for such portable electronic devices increasingly need to understand how the various inputs and information related to images captured by the device should be translated into input parameters for the image processing routines. As a simple example, consider a single tap gesture at a particular coordinate (x, y) on a touch screen. One example of translating the input point location of (x, y) to an “auto exposure” image processing routine input parameter would be to cause the coordinate (x, y) to serve as the center of a rectangular box over which the image sensor will attempt to base the setting of the camera's exposure parameters for the next captured image frame. With more complex image processing routines, however, such as graphically intensive image distortion filters, the number and type of input parameters may become too complex for the user to specify in real-time or for client software applications to be able to interpret and/or process correctly.
Accordingly, there is a need for techniques to implement a programmatic interface to generate and/or interpret image metadata (e.g., through the use of advanced image processing techniques such as face detection) in order to determine input parameters for various image processing routines in a more pleasing and intuitive way.